#ifndef __Chat_LIMIT_PLUGIN_H__
#define __Chat_LIMIT_PLUGIN_H__

#include "Expand/IPlugin.h"
#include "PlayerEvent.h"

using namespace PocketSurvival;

namespace ChatLimit
{
    class SubsystemChatLimit;

    class ChatLimitPlugin : public IPlugin
    {
    private:
        SubsystemChatLimit *m_chatLimit = nullptr;
        PlayerEvent *m_playerEvent = nullptr;

    public:
        ChatLimitPlugin();

        virtual const std::string &getPluginName() override;
        virtual const std::string &getIntroduce() override;
        virtual uint32_t getUseAuthLevel() override;
        virtual AuthDisplayType getDisplayType() override;
        virtual void processCmd(ChatObj &chatObj, std::vector<std::string> &cmdDataVec) override;

        virtual void load() override;

        virtual void getCmds(std::vector<std::string> &cmdVec) override;
    };
}

#endif
